#ifndef GLGUICONTROL_H
#define GLGUICONTROL_H
#include <oopgl_base/glenv.h>
#include "GlGuiEvent.h"
#include "GlGuiEventRecognizer.h"



class GlWidget;



class GlGuiControl : public GlControl
{

private:

  GlWidget * _mainWidget;

  virtual void _setupUI () = 0;

protected:


public:

  GlGuiControl (int argc, char ** argv, uint customMode);

  virtual ~GlGuiControl ();

  void registerMainWidget (GlWidget * widget); 

  virtual void drawEvent ();
  virtual void keyPressEvent (GlEvent e);
  virtual void mouseEvent (GlEvent e);
  virtual void timerEvent ();
  virtual void mainLoop ();
  virtual void reshapeWindowEvent (int width, int height);



};  //end class GlGuiControl



#endif
